package com.dfrz.bookstore.util;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectResult;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Date;

/**
 * 作者：wangmaokang
 * 日期: 2020/10/22 22:32
 * 描述:
 */
public class OssTest {


    public static String sendToOss(String path)  {
        try {
        File file=new File(path);
        FileInputStream fileInputStream=new FileInputStream(file);

        String fileName= file.getName();

        // Endpoint以杭州为例，其它Region请按实际情况填写。
        String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
//                                  oss-cn-hangzhou.aliyuncs.com
//                                    oss-cn-beijing.aliyuncs.com
        // 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录 https://ram.console.aliyun.com 创建RAM账号。
//        String accessKeyId = "LTAI5tPKvD4W97WVmsTNWYke";       //需要修改
//        String accessKeySecret = "xB8qQTEa8Rj0TO7RuveLK2QX7zy0na";  //需要修改
            String accessKeyId = "LTAI5tJfScc8WuRUfZVvroVK";       //需要修改
            String accessKeySecret = "czhlp5cN43RoinHkBlNGIVblRULEK8";  //需要修改


        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 上传Byte数组。

         InputStream inputStream=fileInputStream;
         PutObjectResult putObjectResult= ossClient.putObject("keyantong", fileName, inputStream); //将文件推送的阿里云oss

//         putObjectResult

            Date ex=new Date(System.currentTimeMillis()+(3600*1000*1000000000));
            URL uri=ossClient.generatePresignedUrl("keyantong",fileName,ex);  //获取 阿里云oss 文件访问地址

            // 关闭OSSClient。
//            System.out.println(uri.toString());
            ossClient.shutdown();

            return uri.toString();

        } catch (IOException e) {
            System.out.println("图片未修改");
        }
        return path;
    }

}
